﻿namespace UnitBox {
	internal class ReturnSpecificValueInterceptionBehaviour<TReturnValue> : ValueReturningInterceptionBehaviour<TReturnValue> {

		#region instance variables

		private readonly TReturnValue _replacedReturnValue;

		#endregion


		#region constructors

		public ReturnSpecificValueInterceptionBehaviour( TReturnValue replacedReturnValue ) {
			_replacedReturnValue = replacedReturnValue;
		}

		#endregion


		#region public methods

		public override TReturnValue Invoke() {
			return _replacedReturnValue;
		}

		#endregion

	}
}
